Skip to content

Conversation

@codihuston
Copy link
Owner

@codihuston codihuston commented Jan 30, 2026

Summary

Add GUI trigger for thumbnail generation and apply consistent dark theme across all pages. Users can now trigger thumbnail extraction from the video player view and see thumbnails in the video gallery.

Changes

  • Product changes
  • Security changes
  • Test changes
  • Dependency changes
  • UX changes
  • Architecture changes
  • Feature/code changes
  • CI/CD changes
  • Breaking changes

Testing

  • Tests pass locally
  • New tests added (if applicable)
  • Manual testing completed

Related Issues

N/A

Screenshots (if applicable)

N/A


cfacb65 feat: add thumbnail generation GUI trigger and dark theme

Detailed Changes

Frontend

  • Add "+ Thumbnails" button in TaskStatusViewer when no thumbnail task exists
  • Add vertical dots menu with "Rerun" option for completed/failed tasks (disabled for pending/running)
  • Display thumbnails in VideoGallery with fallback 🎬 placeholder on error
  • Apply consistent dark theme (#121212 background, #2a2a2a cards) across all pages
  • Update tagline from "Semantic Video Search Platform" to "Video Intelligence Platform"
  • Fix TypeScript errors in ArtifactGallery integration tests (Location type assertions)

Backend

  • Add POST /v1/videos/{video_id}/tasks endpoint for creating tasks from GUI
  • Add shared thumbnails_data volume mounted at /thumbnails for serving generated thumbnails

ML-Service

  • Switch thumbnail format from WebP to JPEG (ffmpeg 4.3 lacks libwebp encoder)
  • Use -q:v 5 quality setting for ~10-20KB file sizes
  • Fix task status to correctly mark as "failed" when all thumbnails fail
  • Add shared thumbnails_data volume mounted at /data/thumbnails for writing

Docker

  • Add thumbnails_data named volume shared between ml-service and backend

Tests

  • Backend: 465 passed
  • ML-service: 84 passed
  • Frontend: 98 passed, build successful

- Add thumbnail extraction task in ml-service (ffmpeg WebP output)
- Add thumbnail serving API (GET /v1/thumbnails/{video_id}/{timestamp_ms})
- Add artifact search API with filtering, pagination, group_by_video
- Add ArtifactGallery component with search form and thumbnail grid
- Add GalleryPage with /gallery route
- Add Enter key support to GlobalJumpControl and ArtifactGallery forms
- Register thumbnail.extraction task type
- Full test coverage for all components
- Add '+ Thumbnails' button in TaskStatusViewer to trigger thumbnail generation
- Add vertical dots menu with 'Rerun' option for completed/failed tasks
- Add POST /v1/videos/{video_id}/tasks endpoint for task creation
- Switch thumbnail format from WebP to JPEG (ffmpeg compatibility)
- Add shared thumbnails_data volume between ml-service and backend
- Display thumbnails in VideoGallery with fallback placeholder
- Apply consistent dark theme across all pages
- Update tagline to 'Video Intelligence Platform'
- Fix TypeScript errors in ArtifactGallery integration tests
@codihuston codihuston merged commit d7542af into main Jan 30, 2026
2 checks passed
@codihuston codihuston deleted the artifact-gallery branch January 31, 2026 06:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant